package com.ly.cloud.service;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.baomidou.mybatisplus.plugins.Page;
import com.ly.cloud.dto.RoleUserDto;
import com.ly.cloud.dto.RoleUserQueryDto;
import com.ly.cloud.dto.RoleUserRelationDto;
import com.ly.cloud.dto.UserDeleteDto;
import com.ly.cloud.vo.RoleInfoVo;
import com.ly.cloud.vo.RoleUserRelationVo;
import com.ly.cloud.vo.StudentVo;
import com.ly.cloud.vo.TeacherVo;
import com.ly.cloud.vo.UserRoleVo;

/**
 * @Description:角色信息service
 * @author luhuacong
 * @date 2018年12月28日
 */
public interface RoleManagerService {

	/** 
	 * Method Name:  insertRoleInfo
	 * Description:  
	 * 新增角色信息
	 * @param jsbh 角色编号
	 * @param jsmc 角色名称
	 * @param cjr 创建人
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	public boolean insertRoleInfo(String jsbh,String jsmc,String cjr);
	
	/** 
	 * Method Name:  deleteRoleByid
	 * Description:  
	 * 根据编号删除角色信息
	 * @param jsbh 角色编号
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	public boolean deleteRoleByid(String jsbh);
	
	/** 
	 * Method Name:  deleteByIdList
	 * Description:  
	 * 批量删除角色信息
	 * @param idList 角色编号集合
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	public Integer deleteByIdList(List<String> idList);
	
	
	/** 
	 * Method Name:  updateRoleInfo
	 * Description:  
	 * 修改角色信息
	 * @param jsbh 角色编号
	 * @param jsmc 角色名称
	 * @param xgr 修改人
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	
	public boolean updateRoleInfo(String jsbh,String jsmc,String xgr);
	
	/** 
	 * Method Name:  distrRoleList
	 * Description:  
	 * 批量给老师或学生添加角色
	 * @param dtoList 封装对象
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	public Integer distrRoleList(RoleUserDto dto); 
	
	/** 
	 * Description: 查询角色信息
	 * @param page 
	 * @param jsmc 角色名称
	 * @return Page<RoleInfoVo>
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	Page<RoleInfoVo> selectRoleInfo(Page<RoleInfoVo> page,String jsmc);
	
	/** 
	 * Description: 根据角色编号查询用户
	 * @param jsbh 角色编号
	 * @return List<RoleUserRelationVo>
	 * @author LuHuaCong
	 * @date: 2018年12月28日
	 */
	List<RoleUserRelationVo> selectRoleByJsbh(String jsbh);

	/**
	 * 根据角色编号查询教职工列表
	 * @param page 
	 * @param gh
	 * @param xm
	 * @param dwh
	 * @return
	 */
	public Page<TeacherVo> queryJzgListByJsbh(Page<TeacherVo> page, String jsbh,String gh, String xm, String dwh);

	/**
	 * 根据角色编号查询对应的学生列表
	 * @param page
	 * @param jsbh
	 * @param xh
	 * @param xm
	 * @param nj
	 * @param xy
	 * @param zyfx
	 * @param bjid
	 * @return
	 */
	public Page<StudentVo> queryStuListByJsbh(Page<StudentVo> page, String jsbh, String xh, String xm, String nj,
			String xy, String zyfx, String bjid);
	
	
}
